<template>
	<view class="big">
		<view class="changeName">
			<u--input class="changeName-input" v-model="nickName" border='bottom' @input="handleInput"></u--input>
			<button :class="buttonClass" :disabled="disabledButton" @click="saveNickname">保存</button>
		</view>
		<view>
			<text style="color: #ccc;font-size: 27rpx;">好名字可以让你的朋友更容易记住你 !</text>
		</view>
	</view>
</template>

<script>
	export default {
		data() {
			return {
				nickName: '', // 初始昵称为空
				originalNickName: '', // 用于比较是否更改了昵称
			}
		},
		onLoad(options) {
			this.nickName = decodeURIComponent(options.nickname);
			this.originalNickName = this.nickName; // 存储原始昵称
		},
		computed: {
			buttonClass() {
							// 如果昵称没有更改，按钮保持禁用状态
							return this.nickName === this.originalNickName ? 'changeName-but disabled' : 'changeName-but active';
						},
			disabledButton() {
				// 如果昵称没有更改，返回 true 禁用按钮
				return this.nickName === this.originalNickName;
			}
		},
		methods: {
			 handleInput() {
			    // 示例：验证昵称长度，此处仅为示例，具体逻辑根据需求来定
			    if (this.nickName.length > 20) {
			      // 处理昵称过长的情况
			      this.nickName = this.nickName.slice(0, 20);
			    }
			  },
			saveNickname() {
				// 这里可以添加保存昵称的逻辑
				uni.navigateBack();
				console.log('昵称保存成功:', this.nickName);
			}
		}
	}
</script>

<style>
	.big {
		width: 95%;
		margin: auto;
	}

	.changeName {
		margin-top: 30rpx;
		display: flex;
		align-items: center;
	}

	.changeName-input {
		flex-grow: 1;
	}

	.changeName-but {
		width: 140rpx;
		height: 70rpx;
		line-height: 70rpx;
		margin-left: 20rpx;
	}

	.disabled {
		color: #ccc;
		background-color: #eee;
	}

	.active {
		color: #fff;
		background-color: #f25417;
	}
</style>